﻿/**********************************天使物流*******************************************
* 功能描述:系统设置——操作员管理——接口
* 作者:孟帅龙
* 时间:2022/1/11
* 
**********************************天使物流*******************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TianShiProject.Models.Common;

namespace TianShiProject.Models.System.Operators
{
    public interface IOperatorRepository
    {
        /// <summary>
        /// 操作员管理——查询分页显示
        /// </summary>
        /// <param name="OperatorNumber"></param>
        /// <param name="OperatorName"></param>
        /// <param name="DeptId"></param>
        /// <param name="OperatorPhone"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        Task<PageResponse<OperatorDto>> GetOperatorPageShow(string OperatorNumber, string OperatorName, int? DeptId, string OperatorPhone, int pageindex, int pagesize);
        /// <summary>
        /// 操作员管理——部门显示
        /// </summary>
        /// <returns></returns>
        Task<List<DeptDto>> GetDepartment();
        /// <summary>
        /// 操作员管理——逻辑删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<PageResponse<OperatorDto>> DeleteOperator(int id);
        /// <summary>
        /// 操作员管理——角色显示
        /// </summary>
        /// <returns></returns>
        Task<List<RoleDto>> GetRole();
        /// <summary>
        /// 操作员管理——编辑
        /// </summary>
        /// <param name="operatorDto"></param>
        /// <returns></returns>
        Task<PageResponse<OperatorDto>> PutUpdateOperator(OperatorDto operatorDto);
        /// <summary>
        /// 操作员管理——批量删除
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<PageResponse<OperatorDto>> DeleteBatchOperator(string ids);
        /// <summary>
        /// 操作员管理——添加
        /// </summary>
        /// <param name="operatorDto"></param>
        /// <returns></returns>
        Task<int> PostAddOperator(OperatorDto operatorDto);
    }
}
